MARS e JDK 1.2


In questo documento sono descritte le dipendenze di MARS dal JDK 1.2.

Originariamente MARS era stato sviluppato con il JDK 1.1.6.
Per dotarlo di caratteristiche di sicurezza è stato integrato con il
sistema SOMA, sviluppato con il JDK 1.2 beta 2.
Questo ha comportato modifiche a MARS che lo hanno reso dipendente dal
JDK 1.2 beta 2. Poiché si tratta di una beta release, il codice
scritto per essa potrebbe essere incompatibile con la versione
definitiva del JDK 1.2.

Per esempio, le istruzioni AccessController.beginPrivileged() e
AccessController.endPrivileged() andranno sostituite con l'istruzione
AccessController.doPrivileged().

Per permettere l'aggiornamento del codice sorgente si riportano di
seguito tutte le linee che si riferiscono al JDK 1.2.
 

Classe jive.javaSpace.SpaceKernel

public SpaceKernel(...) throws AccessControlException {

public SpaceKernel(Principal creator, Passer Pout) ... {
AccessController.checkPermission(new MARSRolePermission
(creator.getName()));

public Space createReactiveSpace(Principal identity)
throws ...,AccessControlException {
AccessController.checkPermission(new MARSRolePermission
(identity.getName)));

public Space createPassiveSpace(Principal identity)
throws ...,AccessControlException {
AccessController.checkPermission(new MARSRolePermission
(identity.getName)));
 

Classe jive.javaSpace.RThreadManager

public RThreadManager(Passer Pout) {
try { AccessController.beginPrivileged();
...
} finally { AccessController.endPrivileged(); }

public Entry[] Launch(...) {
try { AccessController.beginPrivileged(); //presente
... //due volte!
} finally { AccessController.endPrivileged(); }
 

Classe jive.graphics.MARSmonitor

public MARSmonitor(...) {
try { AccessController.beginPrivileged();
...
} finally { AccessController.endPrivileged(); }